package com.chinacoal.microservice.service.impl;

import com.chinacoal.microservice.service.TimedTaskService;
import com.chinacoal.microservice.timedTasks.GenerateExpenseInformationTask;
import com.chinacoal.microservice.util.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @author zhuliang
 * @version V1.0
 * @Description: 定时任务-后端实现类
 * @date 2020-12-12 16：22
 */
@Service
public class TimedTaskServiceImpl implements TimedTaskService {
    
    @Autowired
    private GenerateExpenseInformationTask task;

    /**
     * @Description: 每月1号的0：30,开始创建费用信息,并将模板信息写入通知单中(定时任务)
     * @author zhuliang
     * @date 2020/12/12 16:27
     */
    @Override
    public Result generateNotice() {
        task.generateExpenseInformation();

        return Result.success();
    }

    /**
     * @Description: 每月1号凌晨0：15查询上个月未缴费的，租户信息改为欠费(定时任务)
     * @author zhuliang
     * @date 2020/12/12 16:27
     */
    @Override
    public Result updatePaymentStatus() {
        task.updatePaymentStatus();

        return Result.success();
    }

    /**
     * @Description: 每天凌晨0：10查询所有合同到期的合同信息,并修改合同状态(定时任务)
     * @author zhuliang
     * @date 2020/12/12 16:27
     */
    @Override
    public Result contractExpires() {
        task.contractExpires();

        return Result.success();
    }

    /**
     * @Description: 每月1号0:20生成上一个月数据中心数据(定时任务)
     * @author zhuliang
     * @date 2021/1/1 0:27
     */
    @Override
    public Result generateDataCenterData() {
        task.generateDataCenterData();

        return Result.success();
    }

    /**
     * @Description: 每月1号0:20生成上一个月数据中心数据(定时任务)
     * @author zhuliang
     * @date 2021/1/1 0:27
     */
    @Override
    public Result updateEntriesInformation() {
        task.updateEntriesInformation();

        return Result.success();
    }
}
